/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.laporanrkaunit;

import java.util.List;
import java.util.Map;
import org.sadhar.errhandler.ClassAntiNull;
import org.sadhar.sia.common.ClassConnection;
import org.sadhar.sia.common.ClassUtility;

/**
 *
 * @author Yohan Hardinugroho
 */
public class LaporanRKAUnitDAOImpl implements LaporanRKAUnitDAO {

    public String tahunKelompokAnggaranYangDigunakan(String tahunAnggaran) {
        String sql = "select tahunKelompok from ppmk.kelompokAnggaranYangDigunakan where tahunAnggaran=?";
        List<Map> lmap = ClassConnection.getJdbc().queryForList(
                sql,
                new Object[]{ClassUtility.quote(tahunAnggaran)});

        String tahunKelompok = "";
        for (Map m : lmap) {
            tahunKelompok = ClassAntiNull.AntiNullString(m.get("tahunKelompok"));
        }

        return tahunKelompok;
    }

    public String getQueryRKA(String tahun, String tahunKelompok, String kodeUnit) {
        String sql = "SELECT Nama_unit_kerja, kelompokKegiatan, namaSubKegiatan,jenisKegiatan,keterangan,noIndikatorKinerja,namaPosBiaya,namaItem,harga,kuantitas,jumlahHari,IF(jumlahHari=0,SUM(harga*kuantitas),SUM(harga*kuantitas*jumlahHari)) " +
                "FROM ppmk.kelompokBiaya AS klpk " +
                "INNER JOIN ppmk.subkelompokAnggaranBiaya AS sub ON klpk.kodeKelompokBiaya=sub.kodeKelompokBiaya " +
                "INNER JOIN ppmk.anggaranBiayaRapatKerjaDanKegiatan AS rab_rapat ON rab_rapat.kodePosBiaya=sub.KodePosBiaya " +
                "INNER JOIN ppmk.kegiatanUnit AS keg ON rab_rapat.kodeRapatKerjaSubKegiatan=keg.kodeKegiatanUnit " +
                "INNER JOIN ppmk.kelompokKegiatan AS kelkeg ON keg.kodeKelompokKegiatan=kelkeg.kodeKelompok " +
                "INNER JOIN ppmk.posBiaya AS pos ON pos.kodePosBiaya=klpk.kodePosBiaya " +
                "INNER JOIN ppmk.itemBiaya AS ib ON rab_rapat.kodeItemBiayaBarang=ib.kodeItem " +
                "INNER JOIN ppmk.jenisKegiatan AS jenkeg ON keg.kodeJenisKegiatan=jenkeg.kodeJenisKegiatan " +
                "INNER JOIN ppmk.jenisBiaya AS jns ON jns.kodeJenisBiaya= klpk.kodeJenisBiaya " +
                "INNER JOIN ppmk.kelompokRKA AS klpkRKA ON klpkRKA.kodeKelompokKegiatan=keg.kodeKelompokKegiatan AND klpkRKA.kodePosBiaya=klpk.kodePosBiaya  " +
                "INNER JOIN kamus.unkerja AS un ON un.Kd_unit_kerja=keg.kodeUnit " +
                "WHERE klpk.kodeJenisBiaya='2' AND tahunKelompok='" + tahunKelompok + "' AND keg.tahun='" + tahun + "' AND isRapat='N' AND isRevisi='Y' AND isSudahDiajukan='Y'AND  keg.kodeUnit='" + kodeUnit + "' " +
                "GROUP BY kodeUnit, kelompokKegiatan, namaSubKegiatan ORDER BY Nama_unit_kerja,kelompokKegiatan,namaSubKegiatan";
        return sql;
    }

    public String getQueryIndiktor(String tahun, String kodeUnit) {
        String sql = "SELECT  indikatorKinerja " +
                "FROM mutu.capaianIndikator AS mut " +
                "WHERE mut.tahun ='2009' AND kodeUnit ='02001000'";
        return sql;


    }
}
